Machine learning models for predicting future conditions can be obtained by selecting predictive features of input data and generating models using the selected features. Machine learning models use various input data features that are predictive of desired outcomes. For example, such techniques include regressions and selecting features based on best fit lines and R-squared values. Traditional feature selection techniques may not account for objective cost functions or customizable user performance criteria.